(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
a__minus(0, Y) → 0
a__minus(s(X), s(Y)) → a__minus(X, Y)
a__geq(X, 0) → true
a__geq(0, s(Y)) → false
a__geq(s(X), s(Y)) → a__geq(X, Y)
a__div(0, s(Y)) → 0
a__div(s(X), s(Y)) → a__if(a__geq(X, Y), s(div(minus(X, Y), s(Y))), 0)
a__if(true, X, Y) → mark(X)
a__if(false, X, Y) → mark(Y)
mark(minus(X1, X2)) → a__minus(X1, X2)
mark(geq(X1, X2)) → a__geq(X1, X2)
mark(div(X1, X2)) → a__div(mark(X1), X2)
mark(if(X1, X2, X3)) → a__if(mark(X1), X2, X3)
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(true) → true
mark(false) → false
a__minus(X1, X2) → minus(X1, X2)
a__geq(X1, X2) → geq(X1, X2)
a__div(X1, X2) → div(X1, X2)
a__if(X1, X2, X3) → if(X1, X2, X3)
Rewrite Strategy: FULL
(1) DecreasingLoopProof (EQUIVALENT transformation)
The following loop(s) give(s) rise to the lower bound Ω(2n):
The rewrite sequence
mark(div(s(X834528_4), s(Y835042_4))) →+ a__if(a__geq(mark(X834528_4), Y835042_4), s(div(minus(mark(X834528_4), Y835042_4), s(Y835042_4))), 0)
gives rise to a decreasing loop by considering the right hand sides subterm at position [0,0].
The pumping substitution is [X834528_4 / div(s(X834528_4), s(Y835042_4))].
The result substitution is [ ].
The rewrite sequence
mark(div(s(X834528_4), s(Y835042_4))) →+ a__if(a__geq(mark(X834528_4), Y835042_4), s(div(minus(mark(X834528_4), Y835042_4), s(Y835042_4))), 0)
gives rise to a decreasing loop by considering the right hand sides subterm at position [1,0,0,0].
The pumping substitution is [X834528_4 / div(s(X834528_4), s(Y835042_4))].
The result substitution is [ ].
(2) BOUNDS(2^n, INF)